package modelo.fabricas;

import modelo.excepciones.YaHayUnPozoDeAguaEnLaUbicacionDeseadaException;
import modelo.mapa.Mapa;
import modelo.mapa.Ubicacion;
import modelo.servicios.PozoDeAgua;

public class FabricaDePozoDeAgua {

    public PozoDeAgua crearPozoDeAgua(Ubicacion unaUbicacion) 
    {
        if( (Mapa.getInstance().obtenerHectareaSegunUbicacion(unaUbicacion).obtenerConstruccionTerrestre() == null )
                && ( Mapa.getInstance().obtenerHectareaSegunUbicacion(unaUbicacion).obtenerPozoDeAgua() == null ) )
        {               
            PozoDeAgua pozoDeAgua = new PozoDeAgua();
            Mapa.getInstance().obtenerHectareaSegunUbicacion(unaUbicacion).construirPozoDeAgua(pozoDeAgua);//aca se contruye en la hectarea
            pozoDeAgua.asignarUbicacion(unaUbicacion);
            return  pozoDeAgua;
        }
        else
        {
        	throw new YaHayUnPozoDeAguaEnLaUbicacionDeseadaException();
        }
    }
}
